package com.xyy.saas.payment.adpater.jd.vo;

import lombok.*;

import java.io.Serializable;

/**
 * 聚合支付-消费结果异步通知
 */
@Builder
@Setter
@Getter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class JDAggregateNotifyTradeVo implements Serializable {
    /**
     * 响应码
     * 0000表示响应成功，其他请参考错误码表
     */
    private String resultCode;
    /**
     * 响应描述
     * 根据响应码具体的响应描述
     */
    private String resultDesc;
    /**
     * 商户订单号
     * 请求中的商户订单号
     */
    private String outTradeNo;
    /**
     * 交易号
     * 京东侧生成的订单号，唯一值
     */
    private String tradeNo;
    /**
     * 交易状态
     * 订单交易状态，用于判断支付结果。
     */
    private String tradeStatus;
    /**
     * 交易金额
     * 订单交易金额，单位分
     */
    private Integer tradeAmount;
    /**
     * 完成时间
     * 订单完成时间
     */
    private String finishDate;
    /**
     * 交易类型
     * 对应正向交易传入的交易类型
     */
    private String tradeType;
    /**
     * 用户ID
     * 商户端用户的唯一标识
     */
    private String userId;
    /**
     * 优惠金额
     * 单位：分，大于0，需要传入整数
     */
    private Integer discountAmount;
    /**
     * 支付工具
     */
    private String payTool;
    /**
     * 掩码卡号
     * 仅当支付工具为银行卡时返回，如：621411****2048
     */
    private String maskCardNo;
    /**
     * 银行编码
     * 仅当支付工具为银行卡时返回，发卡银行简码
     */
    private String bankCode;
    /**
     * 卡类型
     * 仅当支付工具为银行卡时返回，DE表示借记卡，CR表示贷记卡
     */
    private String cardType;
    /**
     * 白条分期数
     * 仅当支付工具为白条时返回，表示用户使用的白条支付时选择的分期数
     */
    private String installmentNum;
}
